home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 38 / 64er_Magazin_Sonderheft_38_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64 / lat. deklination (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  18KB  |  662 lines

  1. 10 poke53281,6:poke53280,14:print"[154]"
  2. 20 open 2,0,2:ch$=chr$(128+13):printchr$(142)
  3. 30 l1$="[154]":l2$="":l3$="[158]":q$=" ":qu$="  ":fr$="f"
  4. 40 dima$(120,3)
  5. 50 print"[147]      lateinische deklination"
  6. 60 print"      [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  7. 70 print"                    winfried flikschuh"
  8. 80 print"      autor und     albertstr.5"
  9. 90 print"   copyright(1986): 5430 montabaur"
  10. 100 print"                    tel.:02602-2533"
  11. 110 print"[158]    bitte warten!"
  12. 120 n=111
  13. 130 for k=1ton
  14. 140 read a$(k,o),a$(k,1),a$(k,2),a$(k,3)
  15. 150 next
  16. 160 printchr$(14):print"[154][145][145][196]ieses [208]rogramm ist dem [208]rogrammpaket"
  17. 170 print"[207][205][206][201][198][204][197][216] entnommen, das ausser der [196]ek-"
  18. 180 print"lination aehnliche [213]ebungen zur [203]onju-"
  19. 190 print"gation, zum [208]ronomen und zu den [211]tamm-"
  20. 200 print"formen enthaelt. [193]usserdem erlaubt"
  21. 210 print"[207][205][206][201][198][204][197][216] die [193]nlage eigener [196]ateien und"
  22. 220 print"kann jedes beliebige [211]ubstantiv, [193]djek-"
  23. 230 print"tiv oder [214]erb beugen. [197]s ist zum [208]reis"
  24. 240 print"von [196][205] 36,- (+ [196][205] 3.- [214]ersandkosten)"
  25. 250 print"beim [214]erfasser erhaeltlich([211]tand 1988)."
  26. 270 gosub6610
  27. 280 m$="[147][197][210][203][204][193][197][210][213][206][199][197][206]":printm$
  28. 290 printchr$(14);" [196]ieses [208]rogramm dient zur [197]inuebung der";
  29. 300 print" lateinischen [196]eklinationsformen und"
  30. 310 print" enthaelt [211]ubstantive der"
  31. 320 printl2$;"    [193]-,[207]-,[197]-,[213]-,[201]-";"[154]und"
  32. 330 print"kons.";"[154][196]ekl.(incl.[205]ischform)"
  33. 340 print" [194]ei der [198]ormenbestimmung ist auf kor-"
  34. 350 print" rekte [193]nwendung der [193]bkuerzungen zu "
  35. 360 print" achten, und zwar:"
  36. 370 print"         [199][197][206].[211].[196][193][212].[211].[193][203][203].[211].[193][194][204].[211]."
  37. 380 print"[206][207][205].[208][204].[199][197][206].[208][204].[196][193][212].[208][204].[193][203][203].[208][204].[193][194][204].[208][204]."
  38. 390 print"[154][196]a es schwerer ist,einem [195]omputer eini-";
  39. 400 print" ge [199]rundkenntnisse im [204]ateinischen zu"
  40. 410 print" vermitteln als einem [211]chueler,bildet"
  41. 420 print" oder verlangt das [208]rogramm auch [198]ormen"
  42. 430 print" wie 'fuga firma'-[214]erzeihung!"
  43. 440 print"[194][201][212][212][197] [212][193][211][212][197][160][196][210][213][197][195][203][197][206]"
  44. 450 poke198,0:wait198,1:geta$
  45. 460 print"[147]":p=0:q$=" ":mm$=""
  46. 470 poke53280,14:print"[154]"
  47. 480 printchr$(142);"       lateinische deklination"
  48. 490 print"       [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  49. 500 print"  hauptmenue :"
  50. 510 print"  [163][163][163][163][163][163][163][163][163][163][163][163]"
  51. 520 print"[160][160][160]    [1] deklinationsuebung"
  52. 530 print"       [2] formen bilden"
  53. 540 print"       [3] formen bestimmen"
  54. 550 print"[160][160][160]    [4] formen bilden lassen"
  55. 560 print"       [5] deklinationstabellen"
  56. 570 print"       [6] ende"
  57. 580 poke198,0:wait198,1:getef$:ef=val(ef$)
  58. 590 ifef>0andef<7then on ef goto 610,1190,1430,2170,4440,5310
  59. 600 goto580
  60. 610 poke53280,13
  61. 620 qa$="-":o$="":b$="":po$=chr$(16):as$="":m$="[147][154]    deklinationsuebung[146]"
  62. 630 printm$:print"uebung (u)  oder tabelle (t) ";:input e3$
  63. 640 input "mit adjektiv (j/n)";i1$
  64. 650 print "gewuenschtes substantiv"
  65. 660 print"[158]  ";:input#2,s$:printch$
  66. 670 if i1$<>"j"then 700
  67. 680 print "[154]gewuenschtes adjektiv (mask.s.)"
  68. 690 print"[158]  ";:input#2,aj$:printch$
  69. 700 printl1$:gosub 4790
  70. 710 ifs$="n"then460
  71. 720 gosub 4200
  72. 730 if as$="p"thenns$=a$(x,0)
  73. 740 printm$:print"";ns$;"[146]":print
  74. 750 if e3$="t"thenprint" bitte etwas warten"
  75. 760 for y=0to9
  76. 770 if y=0thensa$=ns$:c$="nom.s.":c0$=c$:goto900
  77. 780 if as$="s"and y>4then980
  78. 790 gosub2430
  79. 800 if as$="p"andy<5thensa$="":goto970
  80. 810 if y=1then c1$=c$:d1$=sa$:goto900
  81. 820 if y=2then c2$=c$:d2$=sa$:goto900
  82. 830 if y=3then c3$=c$:d3$=sa$:goto900
  83. 840 if y=4then c4$=c$:d4$=sa$:goto900
  84. 850 if y=5then c5$=c$:d5$=sa$:goto900
  85. 860 if y=6then c6$=c$:d6$=sa$:goto900
  86. 870 if y=7then c7$=c$:d7$=sa$:goto900
  87. 880 if y=8then c8$=c$:d8$=sa$:goto900
  88. 890 if y=9then c9$=c$:d9$=sa$
  89. 900 if e3$="t"oras$="p"andy<5then 970
  90. 910 ify=3anda$(x,3)="n"thenprint
  91. 920 printl2$;q$;c$;":";tab(15)l3$;:input#2,dc$:printch$;l1$;
  92. 930 if dc$=sa$then970
  93. 940 print" hilfe:";qa$+b$;qa$+o$;tab(15)l3$;:input#2,dc$:printch$;l1$
  94. 950 if dc$=sa$thenprint"[145][145][145]":goto970
  95. 960 print" [145][145]die loesung:  ";l2$;tab(15)sa$;l1$:print"[145][145]"
  96. 970 nexty
  97. 980 print"leertaste druecken"
  98. 990 get a5$:ifa5$=""then990
  99. 1000 if as$="p"then print m$:goto1040
  100. 1010 print m$:print"";ns$;"[146]"
  101. 1020 printqu$;c0$;":  ";ns$:printqu$;c1$;":  ";d1$:printqu$;c2$;":  "d2$
  102. 1030 printqu$;c3$;":  ";d3$:printqu$;c4$;":  ";d4$:ifas$="s"then1060
  103. 1040 printqu$;c5$;": ";d5$:printqu$;c6$;": ";d6$
  104. 1050 printqu$;c7$;": ";d7$:printqu$;c8$;": ";d8$:printqu$;c9$;": ";d9$
  105. 1060 input"ausdrucken (j/n)";e4$:if e4$<>"j"then 1170
  106. 1070 input"drucker betriebsbereit (j/n)";e5$:ife5$<>"j"then1060
  107. 1080 e4$="":e5$="":open 7,4,0
  108. 1090 if as$="p"then d1$="":d2$="":d3$="":d4$=""
  109. 1100 print#7,chr$(14);po$;"22";ns$;chr$(15)
  110. 1110 print#7,po$;"05";c0$;": ";ns$;po$;"40";c5$;": ";d5$
  111. 1120 print#7,po$;"05";c1$;": ";d1$;po$;"40";c6$;": ";d6$
  112. 1130 print#7,po$;"05";c2$;": ";d2$;po$;"40";c7$;": ";d7$
  113. 1140 print#7,po$;"05";c3$;": ";d3$;po$;"40";c8$;": ";d8$
  114. 1150 print#7,po$;"05";c4$;": ";d4$;po$;"40";c9$;": ";d9$
  115. 1160 close7
  116. 1170 gosub 5030
  117. 1180 goto620
  118. 1190 m$="[154][147]     formen bilden[146]":printm$:poke53280,11
  119. 1200 gosub4350
  120. 1210 p=0:q$=" ":sa$="":printm$
  121. 1220 gosub5070:input "  wieviele aufgaben";h
  122. 1230 printm$
  123. 1240 for i=1toh
  124. 1250 gosub4050
  125. 1260 print"";ns$
  126. 1270 gosub2430
  127. 1280 if c$="akk.s" and a$(x,3)="n"then sa$=ns$
  128. 1290 ifmm$="m"thenprint"  ";c$:gosub5100:goto1380
  129. 1300 print"";c$;": [158]";:input#2,d$
  130. 1310 printch$
  131. 1320 if d$=sa$ then1370
  132. 1330 ifpp>9then1350
  133. 1340 r=r+1:v$(r)=c$:r$(r)=sa$:pp=pp+1
  134. 1350 print"leider falsch! richtig ist:"
  135. 1360 print"";sa$;"[146]":goto1380
  136. 1370 gosub5220:print"richtig!":p=p+1
  137. 1380 gosub 5460
  138. 1390 printm$
  139. 1400 nexti
  140. 1410 gosub4920
  141. 1420 goto1210
  142. 1430 m$="[154][147]     formen bestimmen[146]":printm$:poke53280,15
  143. 1440 gosub4350
  144. 1450 p=0:sa$="":printm$
  145. 1460 gosub5070:input "  wieviele aufgaben";h
  146. 1470 print m$
  147. 1480 for i=1 to h
  148. 1490 sa$="":ns$="":cd$="":f$=""
  149. 1500 gosub4050
  150. 1510 gosub2430
  151. 1520 print"";sa$:ifmm$="m"thengosub5100:goto2120
  152. 1530 print"  nominativ (s.): [158]";:input#2,g$:printch$
  153. 1540 if g$<>ns$then1960
  154. 1550 print"  kasus: [158]";:input#2,f$:printch$
  155. 1560 if f$="dat.pl."orf$="abl.pl."then1820
  156. 1570 if a$(x,3)="n"then1640
  157. 1580 if ap$>"b"and ad$<>"b"then1640
  158. 1590 ifap$="a"anda$(x,3)="m"andad$="b"then1790
  159. 1600 ifap$="b"anda$(x,3)="f"andad$="b"then1790
  160. 1610 ifap$="h"anda$(x,3)="m"andi1$="j"then1800
  161. 1620 if ap$="b"then 1720
  162. 1630 goto 1680
  163. 1640 if f$="nom.pl."orf$="akk.pl."then1850
  164. 1650 if ap$="c"then1720
  165. 1660 if as$="i"anda$(z,2)="d"then1760
  166. 1670 if as$="i"andi1$<>"j"then1760
  167. 1680 if ad$="d"orak$="p"then1800
  168. 1690 if ap$="a"andf$="nom.pl."andf$<>c$ then f$="dat.s.":goto1740
  169. 1700 if ap$="a"or ap$="h"then1740
  170. 1710 goto1800
  171. 1720 if a$(z,2)="b"ora$(z,2)="d"or i1$<>"j"then1760
  172. 1730 goto1800
  173. 1740 if f$="gen.s."orf$="dat.s."then1830
  174. 1750 goto 1800
  175. 1760 iff$="abl.s."orf$="dat.s."then1840
  176. 1770 if ap$="b"and i1$<>"j"then1790
  177. 1780 if ap$="c"or a$(z,2)<>"b"then1800
  178. 1790 if f$="gen.s."orf$="nom.pl."then1860
  179. 1800 if f$=c$ then1950
  180. 1810 goto1960
  181. 1820 ca$="dat.pl.":cb$="abl.pl.":goto1870
  182. 1830 ca$="gen.s.":cb$="dat.s.":goto1870
  183. 1840 ca$="dat.s.":cb$="abl.s.":goto1870
  184. 1850 ca$="nom.pl.":cb$="akk.pl.":goto1870
  185. 1860 ca$="nom.pl.":cb$="gen.s.":goto1870
  186. 1870 print"  oder: [158]";:input#2,fa$:printch$
  187. 1880 ifap$="a"andf$<>"gen.s."andfa$="nom.pl."thenfa$="gen.s."
  188. 1890 ifap$="a"andf$="gen.s."andfa$="nom.pl."thenfa$="dat.s."
  189. 1900 if fa$= ca$ or fa$=cb$ then 2000
  190. 1910 ifca$<>c$thencd$=ca$
  191. 1920 ifcb$<>c$thencd$=cb$
  192. 1930 goto 2090
  193. 1940 print
  194. 1950 gosub5220:print"richtig!":p=p+1:goto2120
  195. 1960 ifpp>9 then1980
  196. 1970 r=r+1:r$(r)=sa$:v$(r)=c$:pp=pp+1
  197. 1980 print"[154]leider falsch!richtig ist:"
  198. 1990 print"nom.s.:";ns$;"[146]kasus:";c$:print"":goto 2120
  199. 2000 if ca$<>c$ then cd$=ca$
  200. 2010 if cb$<>c$ then cd$=cb$
  201. 2020 if f$=c$ then 2040
  202. 2030 if f$=cd$ then 2060
  203. 2040 if fa$=cd$ then 2110
  204. 2050 goto2070
  205. 2060 if fa$=c$ then 2110
  206. 2070 ifpp>10 then2090
  207. 2080 r=r+1:r$(r)=sa$:v$(r)=c$+q$+cd$:pp=pp+1
  208. 2090 print"[154]leider falsch;richtig ist:"
  209. 2100 print"[154]  nom.s.: ";ns$:print"[154][146]kasus: ";c$;"[154] und: ";cd$:goto2120
  210. 2110 gosub5220:print"richtig!":p=p+1
  211. 2120 gosub 5460
  212. 2130 printm$
  213. 2140 nexti
  214. 2150 gosub 4920
  215. 2160 goto 1450
  216. 2170 m$="[147][154]   formen bilden lassen[146]":printm$:i1$="":poke53280,0
  217. 2180 print "gewuenschtes substantiv [158]";:input#2,s$:printch$
  218. 2190 gosub 4790
  219. 2200 printm$:print"  ";s$
  220. 2210 print"[154]gewuenschter kasus (z.b.:dat.s.)"
  221. 2220 print"  [158]";:input#2,y$:printch$
  222. 2230 ify$="gen.s."theny=1:goto2330
  223. 2240 ify$="dat.s."theny=2:goto2330
  224. 2250 ify$="akk.s."theny=3:goto2330
  225. 2260 ify$="abl.s."theny=4:goto2330
  226. 2270 ify$="nom.pl."theny=5:goto2330
  227. 2280 ify$="gen.pl."theny=6:goto2330
  228. 2290 ify$="dat.pl."theny=7:goto2330
  229. 2300 ify$="akk.pl."theny=8:goto2330
  230. 2310 ify$="abl.pl."theny=9:goto2330
  231. 2320 print"  [154]eingabe von falschem format":goto 2210
  232. 2330 ify<5andas$="p"theny=y+5
  233. 2340 gosub 2430
  234. 2350 print m$
  235. 2360 print"  die formenbestimmung lautet:"
  236. 2370 print"  ";c$;"[154] von ";a$(x,0);":"
  237. 2380 if y=3 and a$(x,3)="n"then2400
  238. 2390 print"";a$(x,1)+b$:goto2410
  239. 2400 print"";a$(x,0)
  240. 2410 gosub 5030
  241. 2420 goto2170
  242. 2430 ap$=left$(a$(x,2),1):as$=right$(a$(x,2),1)
  243. 2440 if y=1 then 2530
  244. 2450 if y=2 then 2600
  245. 2460 if y=3 then 2680
  246. 2470 if y=4 then 2740
  247. 2480 if y=5 then 2810
  248. 2490 if y=6 then 2890
  249. 2500 if y=7 then 2970
  250. 2510 if y=8 then 3040
  251. 2520 if y=9 then 3120
  252. 2530 c$="gen.s."
  253. 2540 if ap$="a" then3140
  254. 2550 if ap$="b" then3190
  255. 2560 if ap$="c" then 3190
  256. 2570 if ap$="g" then3250
  257. 2580 if ap$="h" then3300
  258. 2590 b$="is":goto3350
  259. 2600 c$="dat.s."
  260. 2610 if ap$="a" then 3140
  261. 2620 if ap$="d" then 3190
  262. 2630 if ap$="e" then 3190
  263. 2640 if ap$="f" then 3190
  264. 2650 if ap$="g" then 3270
  265. 2660 if ap$="h" then 3300
  266. 2670 b$="o":goto3350
  267. 2680 c$="akk.s."
  268. 2690 if a$(x,3)="n" then sa$=ns$:return
  269. 2700 if ap$="a" then3150
  270. 2710 if as$="i" then 3340
  271. 2720 if ap$="g"or ap$="b" then 3200
  272. 2730 b$="em":goto3350
  273. 2740 c$="abl.s."
  274. 2750 if ap$="a" then 3160
  275. 2760 if as$="i" then 3190
  276. 2770 if ap$="e"orap$="d"then 3220
  277. 2780 if ap$="f"orap$="h"then 3220
  278. 2790 if ap$="g" then 3280
  279. 2800 b$="o":goto3350
  280. 2810 c$="nom.pl."
  281. 2820 if as$="i"anda$(x,3)="n"then 3330
  282. 2830 if ap$="a" then 3140
  283. 2840 if ap$="b" then 3190
  284. 2850 if ap$="e"or ap$="c" then 3160
  285. 2860 if ap$="g"anda$(x,3)="n"then3260
  286. 2870 if ap$="g" then 3250
  287. 2880 b$="es":goto3350
  288. 2890 c$="gen.pl."
  289. 2900 if ap$="a" then 3170
  290. 2910 if ap$="d" then 3200
  291. 2920 if ap$="e" then 3200
  292. 2930 if ap$="f" then 3240
  293. 2940 if ap$="g" then 3290
  294. 2950 if ap$="h" then 3310
  295. 2960 b$="orum":goto3350
  296. 2970 c$="dat.pl."
  297. 2980 if ap$="d" then 3230
  298. 2990 if ap$="e" then 3230
  299. 3000 if ap$="f" then 3230
  300. 3010 if ap$="g" then 3230
  301. 3020 if ap$="h" then 3320
  302. 3030 b$="is":goto3350
  303. 3040 c$="akk.pl."
  304. 3050 if as$="i"anda$(x,3)="n"then 3330
  305. 3060 if ap$="a" then 3180
  306. 3070 if ap$="b" then 3210
  307. 3080 if ap$="e" orap$="c"then 3160
  308. 3090 if ap$="g"anda$(x,3)="n"then3260
  309. 3100 if ap$="g" then 3250
  310. 3110 b$="es":goto3350
  311. 3120 c$="abl.pl."
  312. 3130 goto 2980
  313. 3140 b$="ae":goto3350
  314. 3150 b$="am":goto3350
  315. 3160 b$="a":goto3350
  316. 3170 b$="arum":goto3350
  317. 3180 b$="as":goto3350
  318. 3190 b$="i":goto3350
  319. 3200 b$="um":goto3350
  320. 3210 b$="os":goto 3350
  321. 3220 b$="e":goto3350
  322. 3230 b$="ibus":goto3350
  323. 3240 b$="ium":goto3350
  324. 3250 b$="us":goto3350
  325. 3260 b$="ua":goto3350
  326. 3270 b$="ui":goto3350
  327. 3280 b$="u":goto3350
  328. 3290 b$="uum":goto3350
  329. 3300 b$="ei":goto 3350
  330. 3310 b$="erum":goto3350
  331. 3320 b$="ebus":goto3350
  332. 3330 b$="ia":goto3350
  333. 3340 b$="im":goto3350
  334. 3350 if i1$="j"then3380
  335. 3360 a$(z,1)="":a$(z,2)="":ad$="":ak$=""
  336. 3370 sa$=a$(x,1)+b$:print:return
  337. 3380 if ap$="b"anda$(z,2)="b"anda$(x,3)="m"theno$=b$:goto4020
  338. 3390 if ap$="a"anda$(z,2)="b"anda$(x,3)="f"theno$=b$:goto4020
  339. 3400 if ap$="c"anda$(z,2)="b"theno$=b$:goto4020
  340. 3410 ad$=left$(a$(z,2),1):ak$=right$(a$(z,2),1)
  341. 3420 if y=1andad$="d"then3870
  342. 3430 if y=1andak$="p"then3850
  343. 3440 if y=2andad$="d"then3820
  344. 3450 if y=2andak$="p"then3820
  345. 3460 if y=6andad$="d"then3900
  346. 3470 if y=4andad$="d"then3810
  347. 3480 if y=7andad$="d"then3920
  348. 3490 if y=9andad$="d"then3920
  349. 3500 if y=3andad$="d"then3880
  350. 3510 if y=5andad$="d"then3640
  351. 3520 if y=8andad$="d"then3640
  352. 3530 if y=7 andad$="b"then3870
  353. 3540 if y=9 andad$="b"then3870
  354. 3550 if y=1 andad$="b"then3660
  355. 3560 if y=2 andad$="b"then3670
  356. 3570 if y=3 andad$="b"then3690
  357. 3580 if y=4 andad$="b"then3710
  358. 3590 if y=6 andad$="b"then3730
  359. 3600 if y=5 andad$="b"then3960
  360. 3610 if y=8 andad$="b"then3990
  361. 3620 if a$(x,3)="m"ora$(x,3)="f"then3880
  362. 3630 if a$(x,3)="n"theno$=a$(z,0):goto4020
  363. 3640 if a$(x,3)="m"ora$(x,3)="f"then3890
  364. 3650 if a$(x,3)="n"then3930
  365. 3660 if a$(x,3)="m"ora$(x,3)="n"then3810
  366. 3670 if a$(x,3)="m"ora$(x,3)="n"then3950
  367. 3680 if a$(x,3)="f"then3760
  368. 3690 if a$(x,3)="m"ora$(x,3)="n"then3830
  369. 3700 if a$(x,3)="f"then3770
  370. 3710 if a$(x,3)="m"ora$(x,3)="n"then3950
  371. 3720 if a$(x,3)="f"then3780
  372. 3730 if a$(x,3)="m"ora$(x,3)="n"then3860
  373. 3740 if a$(x,3)="f"then3790
  374. 3750 goto3960
  375. 3760 o$="ae":goto4020
  376. 3770 o$="am":goto4020
  377. 3780 o$="a":goto4020
  378. 3790 o$="arum":goto4020
  379. 3800 o$="as":goto4020
  380. 3810 ify=4andak$="k"theno$="e":goto4020
  381. 3820 o$="i":goto4020
  382. 3830 o$="um":goto4020
  383. 3840 o$="os":goto4020
  384. 3850 o$="ius":goto4020
  385. 3860 o$="orum":goto4020
  386. 3870 o$="is":goto4020
  387. 3880 o$="em":goto4020
  388. 3890 o$="es":goto4020
  389. 3900 ifak$="k"theno$="um":goto4020
  390. 3910 o$="ium":goto4020
  391. 3920 o$="ibus":goto4020
  392. 3930 ifak$="k"theno$="a":goto4020
  393. 3940 o$="ia":goto4020
  394. 3950 o$="o":goto4020
  395. 3960 if a$(x,3)="f"then3760
  396. 3970 if a$(x,3)="m"then3810
  397. 3980 if a$(x,3)="n"then3780
  398. 3990 if a$(x,3)="n"then3780
  399. 4000 if a$(x,3)="m"then3840
  400. 4010 if a$(x,3)="f"then3800
  401. 4020 print
  402. 4030 sa$=a$(x,1)+b$+q$+a$(z,1)+o$
  403. 4040 return
  404. 4050 if fr$="f"then4090
  405. 4060 x=rnd(0)*az
  406. 4070 if i1$<>"j"then4160
  407. 4080 z=rnd(0)*bz+az:goto4160
  408. 4090 if be=1thenx=rnd(0)*85+1:goto4130
  409. 4100 if be=2thenx=rnd(0)*59+1:goto4130
  410. 4110 if be=3thenx=rnd(0)*42+1:goto4130
  411. 4120 if be=4thenx=rnd(0)*21+1
  412. 4130 if i1$<>"j"then 4160
  413. 4140 if be>2then z=rnd(0)*15+86:goto4160
  414. 4150 z=rnd(0)*26+86
  415. 4160 ap$=left$(a$(x,2),1):as$=right$(a$(x,2),1)
  416. 4170 if as$="s"theny=int(4*rnd(1))+1:goto4200
  417. 4180 if as$="p"theny=5:gosub2430:as$="":ns$=sa$:y=int(4*rnd(1))+6:return
  418. 4190 y=int(9*rnd(1))+1
  419. 4200 if i1$<>"j"oraj$="n"then4310
  420. 4210 ad$=left$(a$(z,2),1):ak$=right$(a$(z,2),1)
  421. 4220 if a$(z,3)="ei"ora$(x,3)="m"then4320
  422. 4230 ifa$(x,3)="f"andad$="b"thenab$="a":goto4300
  423. 4240 ifa$(x,3)="f"anda$(z,2)="dk"then4320
  424. 4250 ifa$(x,3)="f"andad$="d"thenab$="is":goto4300
  425. 4260 ifa$(x,3)="n"anda$(z,2)="d"thenab$="e":goto4300
  426. 4270 ifak$="k"thenab$="us":a=len(a$(z,1)):c=a-2:a1$=left$(a$(z,1),c):goto4330
  427. 4280 ifa$(x,3)="n"andad$="b"thenab$="um":goto4300
  428. 4290 goto4320
  429. 4300 ac$=a$(z,1)+ab$:ns$=a$(x,0)+q$+ac$:goto 4340
  430. 4310 ns$=a$(x,0):goto4340
  431. 4320 ns$=a$(x,0)+q$+a$(z,0):goto4340
  432. 4330 ac$=a1$+ab$:ns$=a$(x,0)+q$+ac$
  433. 4340 return
  434. 4350 print"[147][154]      wahlmoeglichkeiten":z=120:x=120
  435. 4360 input " mit adjektiv (j/n)";i1$
  436. 4370 print" 1) alle deklinationen"
  437. 4380 print" 2) a-/o-/kons.dekl.(incl.mischform)"
  438. 4390 print" 3) nur masc.und fem.der a-/o-/kons.dekl"
  439. 4400 print" 4) nur a-/o-deklination"
  440. 4410 print" zahl 1-4 eingeben ":poke198,0:wait198,1:getbe$:be=val(be$)
  441. 4420 ifbe<1orbe>4then4410
  442. 4430 return
  443. 4440 a=1:b=3:c=7
  444. 4450 open a,b,c
  445. 4460 poke53280,6:print"[154][147]"
  446. 4470 print#a, "  anima [154](a-deklination)"
  447. 4480 print#a, "  anim   [158]-a  -ae    -ae   -am  -a"
  448. 4490 print#a, "         -ae -arum  -is   -as  -is[154]"
  449. 4500 print#a, "  hortus/puer[154];(o-deklination)"
  450. 4510 print#a, "  hort   [158]-us -i     -o    -um  -o"
  451. 4520 print#a, "         -i  -orum  -is   -os  -is[154]"
  452. 4530 print#a, "  templum[154]; (o-deklination)"
  453. 4540 print#a, "  templ  [158]-um -i     -o    -um  -o"
  454. 4550 print#a, "         -a  -orum  -is   -a   -is[154]"
  455. 4560 print#a, "  palus [154](kons.deklination)"
  456. 4570 print#a, "  palud     [158] -is    -i    -em  -e"
  457. 4580 print#a, "         -es -um    -ibus -es  -ibus[154]"
  458. 4590 print#a, "  tempus [154](kons.dekl.neutrum)"
  459. 4600 print#a, "  tempor     [158]-is    -i  tempus[146] -e"
  460. 4610 print#a, "         -a  -um    -ibus -a   -ibus[154]"
  461. 4620 print#a, "  arx [154](kons.dekl.mischform)"
  462. 4630 print#a, "  arc        [158]-is    -i    -em  -e"
  463. 4640 print#a, "         -es -ium   -ibus -es  -ibus[154]"
  464. 4650 print#a, "  senatus [154](u-deklination)"
  465. 4660 print#a, "  senat  [158]-us -us    -ui   -um  -u"
  466. 4670 print#a, "         -us -uum   -ibus -us  -ibus[154]"
  467. 4680 print#a, "  dies [154](e-deklination)"
  468. 4690 print#a, "  di     [158]-es -ei    -ei   -em  -e"
  469. 4700 print#a, "         -es -erum  -ebus -es  -ebus[154]"
  470. 4710 closea
  471. 4720 if b=4 then460
  472. 4730 input"wird ausdruck gewuenscht (j/n)";i$
  473. 4740 if i$<>"j" then460
  474. 4750 input"drucker betriebsbereit";j$
  475. 4760 if j$<>"j" then460
  476. 4770 a=7:b=4:c=0
  477. 4780 goto4450
  478. 4790 for x=0to85:if s$=a$(x,0)then4840
  479. 4800 nextx
  480. 4810 print "[154] gewuenschtes substantiv nicht im"
  481. 4820 print" datenbestand":s$="n"
  482. 4830 gosub6610
  483. 4840 if i1$<>"j"then4910
  484. 4860 for z=86to111:ifaj$=a$(z,0)then4910
  485. 4870 nextz
  486. 4880 printm$:print "[154] gewuenschtes adjektiv nicht im"
  487. 4890 print" datenbestand":aj$="n":i1$="n"
  488. 4900 gosub6610
  489. 4910 return
  490. 4920 ifmm$="m"then5030
  491. 4930 print"du hast ";p;" punkte von "
  492. 4940 print"";h;"moeglichen erreicht"
  493. 4950 ifpp=0 then 5030
  494. 4960 print"wiederhole folgende formen:"
  495. 4970 print
  496. 4980 for r=1 to 10
  497. 4990 if r$(r)=""then 5020
  498. 5000 print"  ";v$(r);": ";r$(r);l1$
  499. 5010 v$(r)="":r$(r)=""
  500. 5020 nextr
  501. 5030 pp=0:r=0:e$="":input "[154] noch einmal (j/n)";e$
  502. 5040 d1$="":d2$="":d3$="":d4$="":d5$="":d6$="":d7$="":d8$="":d9$=""
  503. 5050 if e$<>"j"then460
  504. 5060 return
  505. 5070 print" bitte 'm' eingeben,wenn nur 'muendlich'"
  506. 5080 poke198,0:wait198,1:getmm$
  507. 5090 return
  508. 5100 si=54272:fl=si:fh=si+1:wm=si+4:am=si+5:hm=si+6:lm=si+24
  509. 5110 pokelm,15:pokeam,16+9:pokehm,4*16+4:pokefh,29:pokefl,69:pokewm,17
  510. 5120 fortm=1to500:next
  511. 5130 pokewm,0:pokeam,0:pokehm,0
  512. 5140 print"[154]  fuer loesung bitte taste"
  513. 5150 poke198,0:wait198,1:geta$
  514. 5160 print"[145]  meine loesung lautet:      "
  515. 5170 ifef$="2"then5190
  516. 5180 ifef$="3"then5200
  517. 5190 print"[158]  ";sa$:goto5210
  518. 5200 print"[158]  ";c$;" von [158]";ns$;"[146]"
  519. 5210 return
  520. 5220 si=54272:fl=si:fh=si+1:wm=si+4:am=si+5:hm=si+6:lm=si+24:bm=29:cm=69
  521. 5230 forzm=1to3
  522. 5240 pokelm,15:pokeam,16+9:pokehm,4*16+4:pokefh,bm:pokefl,cm:pokewm,17
  523. 5250 fortm=1to500:next
  524. 5260 pokewm,0:pokeam,0:pokehm,0
  525. 5270 ifzm=2thenbm=23:cm=55
  526. 5280 ifzm=3thenbm=39:cm=22
  527. 5290 nextzm
  528. 5300 return
  529. 5310 printl1$;"[147]":input"  datei ausdrucken (j/n)";j$:ifj$<>"j"then5430
  530. 5320 print"  bitte warten"
  531. 5330 fori=1ton
  532. 5340 fork=ntoistep-1
  533. 5350 ifa$(k-1,0)<a$(k,0)then5370
  534. 5360 x$=a$(k-1,0):a$(k-1,0)=a$(k,0):a$(k,0)=x$
  535. 5370 nextk:nexti
  536. 5380 h=1:open7,4,0:print#7,"   datei (deklination)":print#7
  537. 5390 fori=0ton
  538. 5400 print#7," ";a$(i,0);:ifi/5=hthenh=h+1:print#7
  539. 5410 nexti:print#7:close7
  540. 5420 close2
  541. 5430 print"  bitte taste"
  542. 5440 geta$:ifa$=""then5440
  543. 5450 goto6630
  544. 5460 printl1$:print"* bitte taste druecken *"
  545. 5470 geteq$:ifeq$=""then5470
  546. 5480 ifeq$="[147]"then460
  547. 5490 return
  548. 5500 data ancilla,ancill,a,f
  549. 5510 data fluvius,fluvi,b,m
  550. 5520 data equus,equ,b,m
  551. 5530 data dominus,domin,b,m
  552. 5540 data puer,puer,b,m
  553. 5550 data liber,libr,b,m
  554. 5560 data porta,port,a,f
  555. 5570 data servus,serv,b,m
  556. 5580 data puella,puell,a,f
  557. 5590 data pugna,pugn,a,f
  558. 5600 data cura,cur,a,f
  559. 5610 data vir,vir,b,m
  560. 5620 data deus,de,b,m
  561. 5630 data populus,popul,b,m
  562. 5640 data captivus,captiv,b,m
  563. 5650 data insidiae,insidi,ap,f
  564. 5660 data poeta,poet,a,m
  565. 5670 data causa,caus,a,f
  566. 5680 data clementia,clementi,as,f
  567. 5690 data amicus,amic,b,m
  568. 5700 data morbus,morb,b,m
  569. 5710 data orator,orator,d,m
  570. 5720 data arbor,arbor,d,f
  571. 5730 data soror,soror,d,f
  572. 5740 data mater,matr,d,f
  573. 5750 data consul,consul,d,m
  574. 5760 data terror,terror,d,m
  575. 5770 data salus,salut,ds,f
  576. 5780 data miles,milit,d,m
  577. 5790 data timor,timor,d,m
  578. 5800 data virtus,virtut,d,f
  579. 5810 data dux,duc,d,m
  580. 5820 data pax,pac,ds,f
  581. 5830 data rex,reg,d,m
  582. 5840 data lex,leg,d,f
  583. 5850 data coniunx,coniug,d,f
  584. 5860 data mos,mor,d,m
  585. 5870 data laus,laud,d,f
  586. 5880 data gens,gent,f,f
  587. 5890 data aetas,aetat,d,f
  588. 5900 data limes,limit,d,m
  589. 5910 data multitudo,multitudin,d,f
  590. 5920 data templum,templ,c,n
  591. 5930 data aurum,aur,cs,n
  592. 5940 data forum,for,c,n
  593. 5950 data castra,castr,cp,n
  594. 5960 data flumen,flumin,e,n
  595. 5970 data genus,gener,e,n
  596. 5980 data carmen,carmin,e,n
  597. 5990 data corpus,corpor,e,n
  598. 6000 data vulnus,vulner,e,n
  599. 6010 data tempus,tempor,e,n
  600. 6020 data fatum,fat,c,n
  601. 6030 data odium,odi,cs,n
  602. 6040 data periculum,pericul,c,n
  603. 6050 data bellum,bell,c,n
  604. 6060 data opus,oper,e,n
  605. 6070 data nomen,nomin,e,n
  606. 6080 data ius,iur,e,n
  607. 6090 data urbs,urb,f,f
  608. 6100 data mare,mar,fi,n
  609. 6110 data navis,nav,f,f
  610. 6120 data ars,art,f,f
  611. 6130 data finis,fin,f,m
  612. 6140 data iter,itiner,e,n
  613. 6150 data mons,mont,f,m
  614. 6160 data pars,part,f,f
  615. 6170 data civis,civ,f,m
  616. 6180 data animal,animal,fi,n
  617. 6190 data usus,us,g,m
  618. 6200 data exercitus,exercit,g,m
  619. 6210 data aditus,adit,gs,m
  620. 6220 data senatus,senat,gs,m
  621. 6230 data manus,man,g,f
  622. 6240 data turris,turr,fi,f
  623. 6250 data portus,port,g,m
  624. 6260 data magistratus,magistrat,g,m
  625. 6270 data aspectus,aspect,gs,m
  626. 6280 data res,r,h,f
  627. 6290 data fides,fid,hs,f
  628. 6300 data spes,sp,hs,f
  629. 6310 data dies,di,h,m
  630. 6320 data planities,planiti,h,f
  631. 6330 data acies,aci,h,f
  632. 6340 data pernicies,pernici,hs,f
  633. 6350 data bonus,bon,b,dr
  634. 6360 data pulcher,pulchr,b,dr
  635. 6370 data malus,mal,b,dr
  636. 6380 data saevus,saev,b,dr
  637. 6390 data liber,liber,b,dr
  638. 6400 data fidus,fid,b,dr
  639. 6410 data romanus,roman,b,dr
  640. 6420 data firmus,firm,b,dr
  641. 6430 data armatus,armat,b,dr
  642. 6440 data plenus,plen,b,dr
  643. 6450 data meus,me,b,dr
  644. 6460 data noster,nostr,b,dr
  645. 6470 data vester,vestr,b,dr
  646. 6480 data cautus,caut,b,dr
  647. 6490 data miser,miser,b,dr
  648. 6500 data felix,felic,d,ei
  649. 6510 data audax,audac,d,ei
  650. 6520 data sapiens,sapient,d,ei
  651. 6530 data constans,constant,d,ei
  652. 6540 data fortis,fort,d,zw
  653. 6550 data gravis,grav,d,zw
  654. 6560 data levis,lev,d,zw
  655. 6570 data mollis,moll,d,zw
  656. 6580 data celer,celer,d,dr
  657. 6590 data acer,acr,d,dr
  658. 6600 data ferox,feroc,d,ei
  659. 6610 print"         *** bitte taste ***"
  660. 6620 poke198,0:wait198,1:geta$:return
  661. 6630 end
  662.